home *** CD-ROM | disk | FTP | other *** search
- package E;
-
- import java.io.ByteArrayOutputStream;
- import java.io.DataInputStream;
- import java.io.IOException;
- import java.util.Date;
- import java.util.Hashtable;
- import java.util.Vector;
-
- // $FF: renamed from: E.I
- public class class_0 {
- protected Vector addElement;
- private DataInputStream append;
- protected int elementAt = -1;
- private boolean equals;
- private int forName;
-
- public class_0() {
- }
-
- public class_0(DataInputStream var1) {
- this.addElement(var1);
- }
-
- public final void addElement(DataInputStream var1) {
- this.append = var1;
- this.equals = true;
- this.forName = 0;
- this.elementAt = -1;
- this.addElement = null;
- }
-
- // $FF: renamed from: I () int
- public final int method_0() {
- int var1 = this.toByteArray();
- switch (var1) {
- case 73:
- return this.forName();
- default:
- throw this.toString("int", var1);
- }
- }
-
- // $FF: renamed from: Z () java.lang.Object
- public final Object method_1() {
- int var1 = this.toByteArray();
- switch (var1) {
- case 66:
- case 98:
- this.equals = var1 == 66;
- this.forName = (this.toByteArray() << 8) + this.toByteArray();
- ByteArrayOutputStream var11 = new ByteArrayOutputStream();
-
- int var9;
- while((var9 = this.put()) >= 0) {
- var11.write(var9);
- }
-
- return var11.toByteArray();
- case 67:
- case 68:
- case 69:
- case 71:
- case 72:
- case 74:
- case 75:
- case 79:
- case 80:
- case 81:
- case 85:
- case 87:
- case 88:
- case 89:
- case 90:
- case 91:
- case 92:
- case 93:
- case 94:
- case 95:
- case 96:
- case 97:
- case 99:
- case 101:
- case 102:
- case 103:
- case 104:
- case 105:
- case 106:
- case 107:
- case 108:
- case 109:
- case 110:
- case 111:
- case 112:
- case 113:
- case 114:
- default:
- throw this.write("unknown code:" + (char)var1);
- case 70:
- return new Boolean(false);
- case 73:
- return new Integer(this.forName());
- case 76:
- return new Long(this.getName());
- case 77:
- String var8 = this.equals();
- return this.elementAt(new Hashtable());
- case 78:
- return null;
- case 82:
- int var7 = this.forName();
- return this.addElement.elementAt(var7);
- case 83:
- case 115:
- this.equals = var1 == 83;
- this.forName = (this.toByteArray() << 8) + this.toByteArray();
- StringBuffer var10 = new StringBuffer();
-
- int var6;
- while((var6 = this.newInstance()) >= 0) {
- var10.append((char)var6);
- }
-
- return var10.toString();
- case 84:
- return new Boolean(true);
- case 86:
- String var2 = this.equals();
- if (var2 != null && !var2.equals("java.util.Vector") && !var2.equals("")) {
- C var3;
- try {
- var3 = (C)Class.forName(var2).newInstance();
- var3.I(this.append);
- } catch (Exception var5) {
- throw this.write("unknown class " + var2);
- }
-
- int var4 = this.toByteArray();
- if (var4 != 122) {
- throw this.toString("Serializable", var4);
- }
-
- return var3;
- }
-
- return this.append(new Vector());
- case 100:
- return new Date(this.getName());
- }
- }
-
- protected final Object append(Vector var1) {
- if (this.addElement == null) {
- this.addElement = new Vector();
- }
-
- this.addElement.addElement(var1);
-
- int var2;
- for(var2 = this.toByteArray(); var2 >= 0 && var2 != 122; var2 = this.toByteArray()) {
- this.elementAt = var2;
- Object var3 = this.method_1();
- var1.addElement(var3);
- }
-
- if (var2 != 122) {
- throw this.toString("list", var2);
- } else {
- return var1;
- }
- }
-
- protected final Object elementAt(Hashtable var1) {
- if (this.addElement == null) {
- this.addElement = new Vector();
- }
-
- this.addElement.addElement(var1);
-
- int var2;
- for(var2 = this.toByteArray(); var2 >= 0 && var2 != 122; var2 = this.toByteArray()) {
- this.elementAt = var2;
- Object var3 = this.method_1();
- Object var4 = this.method_1();
- var1.put(var3, var4);
- }
-
- if (var2 != 122) {
- throw this.toString("map", var2);
- } else {
- return var1;
- }
- }
-
- private String equals() {
- int var1 = this.toByteArray();
- if (var1 != 116) {
- if (var1 == 104) {
- this.equals = true;
- N.C var6 = N.C.I();
- String var7 = null;
-
- try {
- var7 = var6.I(this.getName()).getName();
- } catch (ClassNotFoundException var5) {
- this.write("Class not found in registry");
- }
-
- return var7;
- } else {
- throw this.toString("type", var1);
- }
- } else {
- this.equals = true;
- this.forName = (this.toByteArray() << 8) + this.toByteArray();
- StringBuffer var2 = new StringBuffer();
-
- int var3;
- while((var3 = this.newInstance()) >= 0) {
- var2.append((char)var3);
- }
-
- return var2.toString();
- }
- }
-
- private int forName() {
- int var1 = this.toByteArray();
- int var2 = this.toByteArray();
- int var3 = this.toByteArray();
- int var4 = this.toByteArray();
- return (var1 << 24) + (var2 << 16) + (var3 << 8) + var4;
- }
-
- private long getName() {
- long var1 = (long)this.toByteArray();
- long var3 = (long)this.toByteArray();
- long var5 = (long)this.toByteArray();
- long var7 = (long)this.toByteArray();
- long var9 = (long)this.toByteArray();
- long var11 = (long)this.toByteArray();
- long var13 = (long)this.toByteArray();
- long var15 = (long)this.toByteArray();
- return (var1 << 56) + (var3 << 48) + (var5 << 40) + (var7 << 32) + (var9 << 24) + (var11 << 16) + (var13 << 8) + var15;
- }
-
- final int newInstance() {
- while(this.forName <= 0) {
- if (this.equals) {
- return -1;
- }
-
- int var1 = this.toByteArray();
- switch (var1) {
- case 83:
- case 88:
- this.equals = true;
- this.forName = (this.toByteArray() << 8) + this.toByteArray();
- break;
- case 115:
- case 120:
- this.equals = false;
- this.forName = (this.toByteArray() << 8) + this.toByteArray();
- break;
- default:
- throw this.toString("string", var1);
- }
- }
-
- --this.forName;
- int var5 = this.toByteArray();
- if (var5 < 128) {
- return var5;
- } else if ((var5 & 224) == 192) {
- int var6 = this.toByteArray();
- int var7 = ((var5 & 31) << 6) + (var6 & 63);
- return var7;
- } else if ((var5 & 240) == 224) {
- int var2 = this.toByteArray();
- int var3 = this.toByteArray();
- int var4 = ((var5 & 15) << 12) + ((var2 & 63) << 6) + (var3 & 63);
- return var4;
- } else {
- throw this.write("bad utf-8 encoding");
- }
- }
-
- final int put() {
- while(this.forName <= 0) {
- if (this.equals) {
- return -1;
- }
-
- int var1 = this.toByteArray();
- switch (var1) {
- case 66:
- this.equals = true;
- this.forName = (this.toByteArray() << 8) + this.toByteArray();
- break;
- case 98:
- this.equals = false;
- this.forName = (this.toByteArray() << 8) + this.toByteArray();
- break;
- default:
- throw this.toString("byte[]", var1);
- }
- }
-
- --this.forName;
- return this.toByteArray();
- }
-
- final int toByteArray() {
- if (this.elementAt >= 0) {
- int var1 = this.elementAt;
- this.elementAt = -1;
- return var1;
- } else {
- return this.append.read();
- }
- }
-
- protected final IOException toString(String var1, int var2) {
- return var2 < 0 ? this.write("expected " + var1 + " at end of file") : this.write("expected " + var1 + " at " + (char)var2);
- }
-
- protected final IOException write(String var1) {
- return new IOException(var1);
- }
- }
-